<?php

/* * *********************************************************** */
/* * ******************** controller usuario ******************* */
/* * ************ Desenvolvido por Antônio Ezequiel ************** */
/* * *********************************************************** */

//verifica se o usuario esta logado
if (!verificaUsuarioLogado ())
    header("location: " . $configurator["siteadmin"] . '/login.A&V');
//verifica se a sessão expirou
if (verificarExpiracaoSessao())
    header("location: " . $configurator["siteadmin"] . '/login.A&V');
//verifica se o usuario tem permissao
if (!verificaPermissao($_GET['pg'])) {
    header("location: " . $configurator["siteadmin"] . '/erro_permissao.A&V');
}

//atauliza o log do usuario
atualizaLogUsuario($configurator);

//inclusão das classes
include_once($configurator["classes"] . "/usuario.classes.php");
include_once($configurator["dao"] . "/usuarioDao.php");
include($configurator["classes"] . "/ocupacao.classes.php");
include($configurator["dao"] . "/ocupacaoDao.php");
include($configurator["classes"] . "/permissao.classes.php");
include($configurator["dao"] . "/permissaoDao.php");

//instanciação dos objetos
$_usuario = new UsuarioDao();
$_ocupacao = new OcupacaoDao();
$_permissao = new PermissaoDao();

$ocupacoes = $_ocupacao->listarOcupacoes();
$permissoes = $_permissao->listarPermissoes();

$smarty->assign('ocupacoes', $ocupacoes);
$smarty->assign('permissoes', $permissoes);

if ($_POST) {
    foreach ($_POST as $key => $valor) {
        if ($key != "permissao") {
            $$key = addslashes($valor);
            $smarty->assign($key, $valor);
        }
        else
            $$key = $valor;
    }

    //checa erros:
    if ($senha != $senha2) {
        $erros[]['erro'] = "Senhas não comferem. ";
    }
    if ($nome == null) {
        $erros[]['erro'] = "Informe um nome. ";
    }
    if ($bairro == null) {
        $erros[]['erro'] = "Informe um bairro. ";
    }
    if ($cep == null) {
        $erros[]['erro'] = "Informe um cep. ";
    }
    if ($email == null) {
        $erros[]['erro'] = "Informe um email. ";
    }
    if (!validaEmail($email)) {
        $erros[]['erro'] = "E-mail invalido. ";
    }
    if ($login == null) {
        $erros[]['erro'] = "Informe um login. ";
    }
    if ($numero == null) {
        $erros[]['erro'] = "Informe um numero. ";
    }
    if ($ocu_codigo == null) {
        $erros[]['erro'] = "Informe uma ocupação. ";
    }
    if ($rg == null) {
        $erros[]['erro'] = "Informe um rg. ";
    }
    if ($rua == null) {
        $erros[]['erro'] = "Informe um logradouro. ";
    }
    if ($senha == null) {
        $erros[]['erro'] = "Informe uma senha. ";
    }
    if ($rua == null) {
        $erros[]['erro'] = "Informe um logradouro. ";
    }
    if ($cpf == null) {
        $erros[]['erro'] = "Informe um cpf. ";
    }
    if (!validaCPF($cpf)) {
        $erros[]['erro'] = "Informe um cpf válido. ";
    }
    if (validaCpfUnico($cpf)) {
        $erros[]['erro'] = "cpf já cadastrado. ";
    }
    if (validaLoginUnico($login)) {
        $erros[]['erro'] = "Login já cadastrado. ";
    }

    if (!$erros) {
        //setagem do objeto
        $_usuario->setAtivo($ativo);
        $_usuario->setBairro($bairro);
        $_usuario->setCel($cel);
        $_usuario->setCep($cep);
        $_usuario->setComplemento($complemento);
        $_usuario->setCpf($cpf);
        $_usuario->setEmail($email);
        $_usuario->setFone($tel);
        $_usuario->setLogin($login);
        $_usuario->setNome($nome);
        $_usuario->setNumero($numero);
        $_usuario->setOcu_codigo($ocu_codigo);
        $_usuario->setRg($rg);
        $_usuario->setRua($rua);
        $_usuario->setSenha(md5($senha));
        $_usuario->setTroca_senha($troca_senha);

        $dado = $_usuario->adicionarUsuario();

        foreach ($permissao as $valor) {
            $_permissao->setPcodigo($valor);
            $_permissao->setUcodigo($dado);
            $perm = $_permissao->adicionarPermissaoUsuario();
        }

        if ($dado) {
            foreach ($_POST as $key => $valor)
                $smarty->assign($key, '');
            $smarty->assign('cadastro', true);
            $smarty->display("usuario_cadastro.tpl");
        }
    } else {
        $smarty->assign('erros', $erros);
        $smarty->display("usuario_cadastro.tpl");
    }
}else
    $smarty->display("usuario_cadastro.tpl");
?>
